#define _CRT_SECURE_NO_WARNINGS 1
//namespace sqy
//{
//	template<class Iterator, class Ref, class Ptr>
//	struct __reverse_iterator
//	{
//		Iterator _cur;
//		typedef __reverse_iterator<Iterator, Ref, Ptr>RIterator;
//		__reverse_iterator(Iterator rit)
//			:_cur(rit)
//		{}
//		bool operator!=(const RIterator& rit) const
//		{
//			return _cur != rit._cur;
//		}
//		bool operator==(const RIterator& rit) const
//		{
//			return _cur == rit._cur;
//		}
//		RIterator operator++()
//		{
//			--_cur;
//			return *this;
//		}
//
//		RIterator operator--()
//		{
//			++_cur;
//			return *this;
//		}
//		RIterator operator++(int)
//		{
//			RIterator tmp(*this);
//			--_cur;
//			return tmp;
//		}
//
//		RIterator operator--(int)
//		{
//			RIterator tmp(*this);
//			++_cur;
//			return tmp;
//		}
//		Ref operator*()
//		{
//			Iterator tmp(_cur);
//			--tmp;
//			return *tmp;
//		}
//		Ptr operator->()
//		{
//			return &(*_cur);
//		}
//	};
//}